# 在上面的示例代码中，np.exp 和 np.dot 是 NumPy 库中的两个重要函数，它们在神经网络和其他数值计算中经常使用。

# np.exp 函数用于计算数组元素的指数（e 的幂）。在 NumPy 中，e 是自然对数的底数（约等于 2.71828）。
# np.exp 接受一个数组作为输入，并返回一个新数组，其中每个元素都是输入数组中对应元素的指数。
import numpy as np

x = np.array([0, 1, 2])
y = np.exp(x)
print(y)  # 输出: [ 1.  2.718282  7.389056]

# 在神经网络中，np.exp 常用于计算激活函数（如 Sigmoid 函数或 Softmax 函数）的输出。

# np.dot
# np.dot 函数用于计算两个数组的点积（dot product）。对于一维数组（向量），它执行的是传统的点积运算；对于二维数组（矩阵），它执行的是矩阵乘法。
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.dot(a, b)
print(c)  # 输出: 32

# 在这个例子中，c 是 a 和 b 的点积，即 1*4 + 2*5 + 3*6 = 32。

# 矩阵乘法
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = np.dot(A, B)
print(C)
# 输出:
# [[19 22]
#  [43 50]]

# 在这个例子中，C 是 A 和 B 的矩阵乘积。
#
# 在神经网络中，np.dot 常用于计算线性层的输出（即输入特征与权重矩阵的点积），然后再通过激活函数得到非线性输出。
# 在上面的示例代码中，np.dot(X, weights) 就是计算输入数据 X 与权重 weights 的矩阵乘积。